/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 *
 * @author Andre
 */
@Embeddable
public class MedidaPK implements Serializable {
    
    @Basic(optional = false)
    @NotNull
    @Column(name = "idAluno")
    private int idAluno;
    
    @Basic(optional = false)
    @NotNull
    @Column(name = "dataMedida")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dataMedida;
    
    @Basic(optional = false)
    @NotNull
    @Column(name = "idTipoMedida")
    private int idTipoMedida;

    public MedidaPK() {
    }

    public MedidaPK(int idAluno, Date dataMedida, int idTipoMedida) {
        this.idAluno = idAluno;
        this.dataMedida = dataMedida;
        this.idTipoMedida = idTipoMedida;
    }

    public int getIdAluno() {
        return idAluno;
    }

    public void setIdAluno(int idAluno) {
        this.idAluno = idAluno;
    }

    public Date getDataMedida() {
        return dataMedida;
    }

    public void setDataMedida(Date dataMedida) {
        this.dataMedida = dataMedida;
    }

    public int getIdTipoMedida() {
        return idTipoMedida;
    }

    public void setIdTipoMedida(int idTipoMedida) {
        this.idTipoMedida = idTipoMedida;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (int) idAluno;
        hash += (dataMedida != null ? dataMedida.hashCode() : 0);
        hash += (int) idTipoMedida;
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof MedidaPK)) {
            return false;
        }
        MedidaPK other = (MedidaPK) object;
        if (this.idAluno != other.idAluno) {
            return false;
        }
        if ((this.dataMedida == null && other.dataMedida != null) || (this.dataMedida != null && !this.dataMedida.equals(other.dataMedida))) {
            return false;
        }
        if (this.idTipoMedida != other.idTipoMedida) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "modelo.MedidaPK[ idAluno=" + idAluno + ", data=" + dataMedida + ", idTipoMedida=" + idTipoMedida + " ]";
    }
    
}
